package io.summer.gadget.channel.core;

import java.io.IOException;
import java.lang.reflect.Type;

/**
 * @author Moonlight
 */
public interface Protocol {
  /**
   * 序列化
   * @param o java object
   * @return byte data;
   */
  byte[] serialize(Object o);

  /**
   * 获取对象
   * @param s string data
   * @param <T> return type
   * @param dataType data type
   * @return java object
   */
  <T> T deserialize(byte[] s, Type dataType);
}
